#include <REGX52.h>

/**
  * @brief		计数器0初始化
  * @parm		无
  * @retval		无
  */
void Timer0_Init()
{
	TMOD &= 0xF0; 	//高4位保持不变，低4位清零
	TMOD |= 0x01; 	//高4位保持不变，低4位为0101
	//初始化清零
	TH0 = 0;
	TL0 = 0;
	
	TF0 = 0;		//溢出标志位清零
	TR0 = 0;		//停止计时
}

/**
  * @brief		计时器0设置初值
  * @parm		Value：计时器初值，范围：0 ~ 65535
  * @retval		无
  */
void Timer0_SetValue(unsigned int Value)
{
	TH0 = Value / 256;
	TL0 = Value % 256;
}

/**
  * @brief		计时器0设置初值
  * @parm		无
  * @retval		计时器此时的数值，范围：0 ~ 65535 
  */
unsigned int Timer0_GetValue()
{
	return (TH0 << 8) | TL0;
}

/**
  * @brief		计时器0启动/停止
  * @parm		Flag：1代表启动，0代表停止
  * @retval		无
  */
void Timer0_Run(unsigned char Flag)
{
	TR0 = Flag;
}








